Python解决嵌套for循环性能慢 您所在的位置:网站首页 python for循环很慢 Python解决嵌套for循环性能慢

Python解决嵌套for循环性能慢

2023-02-19 18:26| 来源: 网络整理| 查看: 265

两个json文件关联 其中文件file1次取500条关file2 关联得到结果500条记录 目前情况是file2数据总数大概十万左右 for循环嵌套关联效率极低

###代码:

import json with open(file1,'r') as f1,open(file2,'r') as f2: a=json.load(f1) b=json.load(f2) list_a=[] for i in range(len(a)): for n in range(len(b)): if b[n]["id"]==a[i]["id"]: list_a.append(dict(b[n],**a[i])) f3=open(result,'w') as f3 json.dump(list_a, f3,sort_keys=True, ensure_ascii=False) f3.close()

###1000条关联7万数据大概是两分钟

file1 :

[ { "id":"1", "name":"Tom" }, { "id":"2", "name":"Jim" }, { "id":"3", "name":"Bob" }, { "id":"4", "name":"Jeny" }, { "id":"5", "name":"Lara" }, { "id":"6", "name":"Lin" }, { "id":"7", "name":"Kim" }, { "id":"8", "name":"Jack" }, { "id":"9", "name":"Tony" } ] `` ##file2##

[ { "id":"1", "Details":[ { "label":"jcc", "hooby":"Swimming" }, { "label":"hkt", "hooby":"Basketball" }, ] }, { "id":"2", "Details":[ { "label":"NTC", "hooby":"Games" } ] }, { "id":"3", "Details":[ { "label":"Nill", "hooby":"BBQ" }, { "label":"hkt", "hooby":"PAY" }, ] }, { "id":"4", "Details":[ { "label":"HFF", "hooby":"Games" } ] }, { "id":"5", "Details":[ { "label":"Make", "hooby":"BBQ" } ] }, { "id":"6", "Details":[ { "label":"LLL", "hooby":"Games" } ] }, { "id":"7", "Details":[ { "label":"mmm", "hooby":"Games" } ] }, { "id":"8", "Details":[ { "label":"nnn", "hooby":"Games" } ] }, { "id":"9", "Details":[ { "label":"yyy", "hooby":"Games" } ] } ]

#### ##预期结果:##

[ { "id":"1", "name":"Tom", "Details":[ { "label":"jcc", "hooby":"Swimming" }, { "label":"hkt", "hooby":"Basketball" }, ] }, { "id":"2", "name":"Jim", "Details":[ { "label":"NTC", "hooby":"Games" } ] }, { "id":"3", "name":"Bob", "Details":[ { "label":"Nill", "hooby":"BBQ" }, { "label":"hkt", "hooby":"PAY" }, ] }, { "id":"4", "name":"Jeny", "Details":[ { "label":"HFF", "hooby":"Games" } ] }, { "id":"5", "name":"Lara", "Details":[ { "label":"Make", "hooby":"BBQ" } ] }, { "id":"6", "name":"Lin", "Details":[ { "label":"LLL", "hooby":"Games" } ] }, { "id":"7", "name":"Kim", "Details":[ { "label":"mmm", "hooby":"Games" } ] }, { "id":"8", "name":"Jack", "Details":[ { "label":"nnn", "hooby":"Games" } ] }, { "id":"9", "name":"Tony", "Details":[ { "label":"yyy", "hooby":"Games" } ] } ]

能不能把file1 map到一个里面然后只执行一次匹配



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有